class PostsController < ApplicationController
	before_filter :authenticate, :except => [:index, :show]

	# GET /posts
	# GET /posts.xml
	def index
		@posts = Post.paginate(:per_page => 3, :page => params[:page], :order => 'created_at DESC')
		@posts = @posts.reverse

		respond_to do |format|
			format.html # index.html.erb
			format.xml  { render :xml => @posts }
			format.json { render :json => @posts }
			format.atom # index.atom.builder	me permet d'avoir atom
			format.js   # index.js.rjs			me permet d'avoir la pagination
		end
	end

	# GET /posts/1
	# GET /posts/1.xml
	def show
		@post = Post.find(params[:id])

		respond_to do |format|
			format.html # show.html.erb
			format.xml  { render :xml => @post }
		end
	end

	# GET /posts/new
	# GET /posts/new.xml
	def new
		@post = Post.new

		respond_to do |format|
			format.html # new.html.erb
			format.xml  { render :xml => @post }
		end
	end

	# GET /posts/1/edit
	def edit
		@post = Post.find(params[:id])
	end

	# POST /posts
	# POST /posts.xml
	def create
		@post = Post.new(params[:post])

		respond_to do |format|
			if @post.save #format HTML
				flash[:notice] = 'Article correctement cr&eacute;e.'
				format.html { redirect_to(@post) }
				format.xml  { render :xml => @post, :status => :created, :location => @post }
			else #format JS
				format.html { render :action => "new" }
				format.xml  { render :xml => @post.errors, :status => :unprocessable_entity }
			end
		end
	end

	# PUT /posts/1
	# PUT /posts/1.xml
	def update
		@post = Post.find(params[:id])

		respond_to do |format|
			if @post.update_attributes(params[:post])
				flash[:notice] = 'Article correctement mis &agrave; jour.'
				format.html { redirect_to(@post) }
				format.xml  { head :ok }
			else
				format.html { render :action => "edit" }
				format.xml  { render :xml => @post.errors, :status => :unprocessable_entity }
			end
		end
	end

	# DELETE /posts/1
	# DELETE /posts/1.xml
	def destroy
		@post = Post.find(params[:id])
		@post.destroy

		respond_to do |format|
			flash[:notice] = 'Article correctement supprim&eacute;.'
			format.html { redirect_to(posts_url) }
			format.xml  { head :ok }
		end
	end

	private
		def authenticate
			authenticate_or_request_with_http_basic do |name, password|
				name == "Nami" && password = "motdepasse"
#				name == "U can add" && password == "All users u need"
		end
	end
end